Seatalk1 documentation

Captured from STK to StkNG converter with 127245 PGN input.

by Tehani, Thank you!

Seatalk1 Documentation. Thomas Knauf Addendum


Section 1. New Datagrams


Rudder Angle

A3 02 XX AY ZZ

Rudder angle, high resolution single data (Captured from STK to StkNG converter with 127245 PGN input)

AY & 0x80 = 0x80 (data is valid)
AY & 0x40 = 0x40 (angle is negative, unnecessary in the next expression)
angle = ((signed integer) (AYXX << 1)) / 40(decimal)
Check: ZZ = ~(02 ^ XX ^ AY), ZZ = NEG(02 XOR XX XOR AY)

Example for positive angle:

A3 02 2C 81 50
AYXX = 0x812C, angle = ((int16_t) (0x812C << 1)) / 40
(int16_t) 0x258 / 40 = +15.00 degrees

Example for negative angle:

A3 02 38 FF 3A
AYXX = 0xFF38, angle = ((int16_t) (0xFF38 << 1)) / 40
(int16_t) 0xFE70 / 40 = -10.00 degrees

* Maximum theoretical Range: +819.15 to -819.20 degrees, in the practice: +/-rudder max deg.
* Theoretical Resolution: +/-0.05 degrees

Corresponding NMEA sentence: RSA

Cross Track Error

AC K2 XX YY ZZ XTE 

* X-track error, high resolution single data
* (Captured from STK to StkNG converter with 129283 PGN input)

Direction to steer:

K & 1 = 0 Steer left to correct error
K & 1 = 1 Steer right to correct error
K & 2 = 2: data is valid
xte distance = YYXX/1000 nautical miles (unsigned)

Check: ZZ = ~(K2 ^ XX ^ YY), ZZ = NEG(K2 XOR XX XOR YY)

* Maximum Range: 0 to +/-65.536 nautical miles.
* Resolution: +/-0.001 nautical miles

Corresponding NMEA sentences: XTE, RMB, APB

Section 2. Corrected Datagrams


Lat Position

50 Z2 XX YY KK

LAT position:

 XX degrees(unsigned), abs((int16) KKYY) / 100 minutes 
 

(ATTENTION: abs(value) != (value & 0x7fff))



LON position

51 Z2 XX YY KK 

LON position:

XX degrees(unsigned), abs((int16) KKYY) / 100 minutes 

(ATTENTION: abs(value) != (value & 0x7fff))



Magnetic Course over Ground (MCOG)

53 U0 VW 

Magnetic Course over Ground (MCOG) in degrees (magnetic north referenced): (Corrected and Example added)

The Magnetic Course may be offset by the Compass Variation (see datagram 99) to get the Course Over Ground (COG). Codification Example:

Example to obtain COG:

$GPRMC,xxxxxx,A,xxxx.xxx,N,xxxxx.xxx,E,07.2,257.5, xxxxxx,02,W,A*xx (GPS Resolution: 0.1 deg)
$GPVTG,257.5,T,259.5,M,7.2,N,13.3,K*xx (VTG: Field 1 = COG, Field 3 = MCOG)

Corresponding NMEA sentences: RMC, VTG

Compass heading Autopilot course & Rudder position (see also command 9C)

84 U6 VW XY 0Z 0M RR SS TT 

Compass heading in degrees:

INCORRECT, incompatible with turn info, Replaced with:

Code:

Everything below is correct:

Turning direction:

Autopilot course in degrees:

Z & 0x2 = 0 : Autopilot in Standby-Mode
Z & 0x2 = 2 : Autopilot in Auto-Mode
Z & 0x4 = 4 : Autopilot in Vane Mode (WindTrim), requires regular "10" datagrams
Z & 0x8 = 8 : Autopilot in Track Mode
M: Alarms + audible beeps
M & 0x04 = 4 : Off course
M & 0x08 = 8 : Wind Shift

Rudder position: RR degrees (positive values steer right,

SS & 0x01 : when set, turns off heading display on 600R control.
SS & 0x02 : always on with 400G
SS & 0x08 : displays “NO DATA” on 600R
SS & 0x10 : displays “LARGE XTE” on 600R
SS & 0x80 : Displays “Auto Rel” on 600R
TT : Always 0x08 on 400G computer, always 0x05 on 150(G) computer

Corresponding NMEA sentences: HDG, RSA, HSC

Compass heading and Rudder position (see also command 84)

9C U1 VW RR 

Compass heading in degrees:

INCORRECT, incompatible with turn info, Replaced with:

Turning direction:

Rudder position: RR degrees (positive values steer right,



Waypoint definition

9E FC DC DC DC XX AA BB YY OO PP GG HH II JJ 

Waypoint definition

DC DC DC
XX: Degrees LAT, YY: Degrees LON
GG HH II JJ: Last four characters of waypoint name

Seatalk to STKNG output example:

9E FD 00 00 00 29 CE 0B 02 B7 89 30 30 30 31 88 (Waypoint name: "0001")



Section 3. Checked Datagrams


These “NOTES” have been added because in Mr. Knauf's original text he makes distinctions between devices, and he duplicates the codes of the keys by changing only the identifier of the sender.

Jose Luis [Tehani]

Fully tested and correct definition datagrams:


0x00 - Depth below transducer.
0x10 - Apparent wind angle.
0x11 - Apparent wind speed.
0x20 - Speed through water.
0x21 - Trip Mileage.
0x22 - Total Mileage.
0x23 - Water temperature.
0x25 - Total & Trip Log. (Is more precise than 0x21, 0x22)
0x27 - Water temperature.
0x30 - Set lamp Intensity.
0x54 - GMT-time.
0x56 - Date.
0x57 - Sat Info.
0x82 - Target waypoint name.
0xA2 - Arrival Info.
0xA4 - Device Identification (Query, termination and answer)

Partially tested:

0x05 Engine.
0x66 Wind Alarms.
0x86 X1 YY yy Keystroke
/* X=1: Sent by Z101 remote control to increment/decrement course of autopilot.

Not tested:

11 60 DF +1 & -1 pressed longer than 1 second
11 61 9E -1 & -10 pressed longer than 1 second
11 62 9D +1 & +10 pressed longer than 1 second
11 64 9B +10 & -10 pressed longer than 1 second (why not 11 68 97 ?) 

Tested:

Notes:

X1 01 FE Auto
X1 02 FD Standby
X1 03 FC When the pilot is in AUTO mode, it switchs to TRACK mode if NAV data are available: 0x85 datagram
X1 04 FB disp (in display mode or page in auto chapter = advance)
X1 05 FA -1 (in auto and wind VANE modes)
X1 06 F9 -10 (in auto and wind VANE modes)
X1 07 F8 +1 (in auto and wind VANE modes)
X1 08 F7 +10 (in auto and wind VANE modes)
X1 09 F6 -1 (in resp or rudder gain mode)
X1 0A F5 +1 (in resp or rudder gain mode)
X1 21 DE -1 & -10 (port tack in AUTO and wind VANE modes, doesn´t work on ST600R?)
X1 22 DD +1 & +10 (stb tack in AUTO and wind VANE modes)
X1 23 DC Standby & Auto (pilot switchs to wind VANE mode if wind data are available: 0x10 and 0x11 datagrams)
X1 28 D7 +10 & -10 (in auto mode) (Older equipment, equivalent to X1 03 FC: entering in TRACK mode)

Not tested:

X1 2E D1 +1 & -1 (Response Display)
X1 41 BE Auto pressed longer
X1 42 BD Standby pressed longer
X1 43 BC Track pressed longer
X1 44 BB Disp pressed longer (maybe equivalent to 30 00 XX, lamp intensity?)
X1 45 BA -1 pressed longer (in auto mode)
X1 46 B9 -10 pressed longer (in auto mode)
X1 47 B8 +1 pressed longer (in auto mode)
X1 48 B7 +10 pressed longer (in auto mode)
X1 63 9C Standby & Auto pressed longer (previous wind angle)
X1 68 97 +10 & -10 pressed longer (in auto mode)
X1 6E 91 +1 & -1 pressed longer (Rudder Gain Display)
X1 80 7F -1 pressed (repeated 1x per second)
X1 81 7E +1 pressed (repeated 1x per second)
X1 82 7D -10 pressed (repeated 1x per second)
X1 83 7C +10 pressed (repeated 1x per second)
X1 84 7B +1, -1, +10 or -10 released

MXPGN Sentence - Nmea2KCommunication with Seatalk

This could be the basis for a plugin or even hardware that directly links everything.

MXPGN Sentence.pdf